/**
 * 通过文件名获取文件的 MIME 类型
 * @param fileName - 文件名
 * @returns 文件的 MIME 类型或 "unknown"
 */
export const getFileTypeByFileType = (fileName: string): string => {
  // 文件扩展名与 MIME 类型的映射
  const mimeTypes: Record<string, string> = {
    'jpg': 'image/jpeg',
    'jpeg': 'image/jpeg',
    'png': 'image/png',
    'gif': 'image/gif',
    'webp': 'image/webp',
    'svg': 'image/svg+xml',
    'bmp': 'image/bmp',
    'pdf': 'application/pdf',
    'doc': 'application/msword',
    'docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    'xls': 'application/vnd.ms-excel',
    'xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
    'ppt': 'application/vnd.ms-powerpoint',
    'pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
    'txt': 'text/plain',
    'csv': 'text/csv',
    'json': 'application/json',
    'zip': 'application/zip',
    'rar': 'application/vnd.rar',
    '7z': 'application/x-7z-compressed',
    'mp3': 'audio/mpeg',
    'wav': 'audio/wav',
    'mp4': 'video/mp4',
    'mov': 'video/quicktime',
    'avi': 'video/x-msvideo',
    'mkv': 'video/x-matroska',
    // 可根据需要扩展更多类型
  };

  // 提取文件扩展名
  const extension = fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();

  // 返回对应的 MIME 类型或 "unknown"
  return mimeTypes[extension] || 'unknown';
};
